/*
 *
 *
 */

#ifndef GKT_CRYPTO_SHA_H
#define GKT_CRYPTO_SHA_H

#include "gkt_types.h"

#ifdef __cplusplus
extern "C" {
#endif

#define GKT_CRYPTO_SHA1_BLOCK_BITS	512
#define GKT_CRYPTO_SHA1_BLOCK_BYTES	(GKT_CRYPTO_SHA1_BLOCK_BITS >> 3)
#define GKT_CRYPTO_SHA1_DIGEST_BITS	160
#define GKT_CRYPTO_SHA1_DIGEST_BYTES	(GKT_CRYPTO_SHA1_DIGEST_BITS >> 3)
int gkt_crypto_sha1(const uint8_t *message, 
			uint32_t msg_len, uint8_t *digest);

#define GKT_CRYPTO_SHA256_BLOCK_BITS	512
#define GKT_CRYPTO_SHA256_BLOCK_BYTES	(GKT_CRYPTO_SHA256_BLOCK_BITS >> 3)
#define GKT_CRYPTO_SHA256_DIGEST_BITS	256
#define GKT_CRYPTO_SHA256_DIGEST_BYTES	(GKT_CRYPTO_SHA256_DIGEST_BITS >> 3)
int gkt_crypto_sha256(const uint8_t *message, 
			uint32_t msg_len, uint8_t *digest);

#ifdef __cplusplus
}
#endif

#endif

